package com.stm.basicData.service.impl;

import java.util.Date;
import java.util.List;
import java.util.UUID;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import com.stm.basicData.mapper.ToolsModelMapper;
import com.stm.basicData.domain.ToolsModel;
import com.stm.basicData.service.IToolsModelService;
import com.stm.common.annotation.DataScope;
import com.stm.common.core.text.Convert;
import org.springframework.transaction.annotation.Transactional;

/**
 * 工具规格型号 服务层实现
 * 
 * @author wyc
 * @date 2019-04-10
 */
@Service
public class ToolsModelServiceImpl implements IToolsModelService 
{
	@Autowired
	private ToolsModelMapper toolsModelMapper;

	/**
     * 查询工具规格型号信息
     * 
     * @param id 工具规格型号ID
     * @return 工具规格型号信息
     */
    @Override
	public ToolsModel selectToolsModelById(String id)
	{
	    return toolsModelMapper.selectToolsModelById(id);
	}
	
	/**
     * 查询工具规格型号列表
     * 
     * @param toolsModel 工具规格型号信息
     * @return 工具规格型号集合
     */
	@Override
	@DataScope(tableAlias = "b3")
	public List<ToolsModel> selectToolsModelList(ToolsModel toolsModel)
	{
	    return toolsModelMapper.selectToolsModelList(toolsModel);
	}
	
    /**
     * 新增工具规格型号
     * 
     * @param toolsModel 工具规格型号信息
     * @return 结果
     */
	@Override
	@Transactional
	public int insertToolsModel(ToolsModel toolsModel)
	{
		toolsModel.setId(UUID.randomUUID().toString());
		toolsModel.setStatus("1");
		toolsModel.setCreateDate(new Date());
	    return toolsModelMapper.insertToolsModel(toolsModel);
	}
	
	/**
     * 修改工具规格型号
     * 
     * @param toolsModel 工具规格型号信息
     * @return 结果
     */
	@Override
	@Transactional
	public int updateToolsModel(ToolsModel toolsModel)
	{
		toolsModel.setUpdateDate(new Date());
	    return toolsModelMapper.updateToolsModel(toolsModel);
	}

	/**
     * 删除工具规格型号对象
     * 
     * @param ids 需要删除的数据ID
     * @return 结果
     */
	@Override
	public int deleteToolsModelByIds(String ids)
	{
		return toolsModelMapper.deleteToolsModelByIds(Convert.toStrArray(ids));
	}

	/**
	 * 
	 * @Description 根据工具规格名称查询规格型号
	 * @CreateTime 2019年4月29日 上午8:57:27
	 * @CreateBy 林龙
	 * @param modelName
	 * @return
	 */
	@Override
	public ToolsModel selectByModelName(String modelName) {
		
		return toolsModelMapper.selectByModelName(modelName);
	}
	
}
